// 初始化聊天历史
let chatHistory = [];

// DOM元素
const chatHistoryEl = document.getElementById('chat-history');
const userInputEl = document.getElementById('user-input');
const sendBtnEl = document.getElementById('send-btn');

// 发送按钮点击事件
sendBtnEl.addEventListener('click', sendMessage);

// 输入框回车事件
userInputEl.addEventListener('keypress', (e) => {
  if (e.key === 'Enter') {
    sendMessage();
  }
});

// 发送消息函数
async function sendMessage() {
  const userMessage = userInputEl.value.trim();
  if (!userMessage) return;
  
  // 添加用户消息到聊天历史
  addMessage('user', userMessage);
  userInputEl.value = '';
  
  try {
    // 添加AI正在输入的提示
    const thinkingEl = addMessage('ai', '思考中...', true);
    
    // 调用后端API
    const response = await fetch('/api/chat', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        messages: [
          {
            role: 'system',
            content: '你是一位专业的生活教练，通过对话帮助用户成长和发展。请用中文回答。'
          },
          {
            role: 'user',
            content: userMessage
          }
        ]
      })
    });
    
    const data = await response.json();
    
    // 移除思考中提示
    chatHistoryEl.removeChild(thinkingEl);
    
    // 添加AI回复
    if (data.choices && data.choices[0] && data.choices[0].message) {
      addMessage('ai', data.choices[0].message.content);
    } else {
      addMessage('ai', '抱歉，我无法处理你的请求。');
    }
  } catch (error) {
    console.error('发送消息出错:', error);
    addMessage('ai', '网络错误，请稍后再试。');
  }
}

// 添加消息到聊天界面
function addMessage(role, content, isThinking = false) {
  const messageEl = document.createElement('div');
  messageEl.classList.add('message', `${role}-message`);
  messageEl.textContent = content;
  
  if (isThinking) {
    messageEl.id = 'thinking-message';
  }
  
  chatHistoryEl.appendChild(messageEl);
  chatHistoryEl.scrollTop = chatHistoryEl.scrollHeight;
  
  return messageEl;
}